package cn.hxzy.common.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.TableName;
import java.util.List;

import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 
 * </p>
 *
 * @author tyhxzy
 * @since 2024-12-14
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class SysSubject implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 题库主键
     */
    @TableId(value = "subject_id", type = IdType.AUTO)
    private Integer subjectId;

    /**
     * 试题名
     */
    private String subjectName;

    /**
     * 选项A
     */
    private String optionA;

    /**
     * 选项B
     */
    private String optionB;

    /**
     * 选项C
     */
    private String optionC;

    /**
     * 选项D
     */
    private String optionD;

    /**
     * 选项E
     */
    private String optionE;

    /**
     * 选项F
     */
    private String optionF;

    /**
     * 试题答案
     */
    private String subjectAnswer;

    /**
     * 题目类型 0 判断 1单选 2多选
     */
    private Integer subjectType;

    /**
     * 试题标签(外键)
     */
    private String subjectLabel;

    /**
     * 试题所属专业(外键)
     */
    private Integer subjectMajor;

    /**
     * 试题中的图片
     */
    private String subjectImage;

    /**
     * 试题难度 1低难度 2中难度 3高难度
     */
    private Integer subjectLv;

    /**
     * 试题创建人(外键)
     */
    private Long creator;

    /**
     * 试题创建时间
     */
    private String createtime;

    /**
     * 试题修改人(外键)
     */
    private Long reviser;

    /**
     * 试题修改时间
     */
    private String changetime;

    //逻辑删除
    private Integer isdelete;

    //标签
    @TableField(exist = false)
    private List<SysSubjectLabel> SysSubjectLabel;

    //用户信息
    @TableField(exist = false)
    private User User;

    //专业
    @TableField(exist = false)
    private Direction Direction;


//    逻辑删除
    private Integer isDelete;
}
